home *** CD-ROM | disk | FTP | other *** search
/ distrib.akp.su/Programming/Vb-6+Rus/ / distrib.akp.su.tar / distrib.akp.su / Programming / Vb-6+Rus / ! BIBLIOTEKI ! / VISMODEL / MSVM10.EXE / RCDATA / CABINET / Msvm.lib / articles.cls < prev    next >
Text File  |  1997-02-20  |  5KB  |  168 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = 0   'False
  4. END
  5. Attribute VB_Name = "Articles"
  6. Attribute VB_GlobalNameSpace = False
  7. Attribute VB_Creatable = False
  8. Attribute VB_PredeclaredId = False
  9. Attribute VB_Exposed = False
  10. Attribute VB_Ext_KEY = "RVB_UniqueId" ,"3237F8CD0399"
  11. 'A set of articles restored from the article database.
  12. 'Articles objects are based on the database table
  13. '"tbl_article" and the "query_articles" stored query
  14. 'definition:
  15. '"PARAMETERS [ArticleId] TEXT, [Name] TEXT; SELECT * FROM
  16. 'tbl_article WHERE article_id LIKE [ArticleId] AND name"
  17.  
  18. Option Base 0
  19.  
  20. '##ModelId=3237F8CB02D5
  21. Private pStorage As Persistence
  22.  
  23. 'Returns the an article from the set.
  24. 'Index syntax.
  25. ' <nothing> = Returns the current article
  26. ' Number = Returns the article indexed by number.  Range:
  27. '1..Count
  28. '##ModelId=3237F8CD039A
  29. Public Function Item(Optional index As Variant) As Article
  30.     On Error GoTo Articles_Item__exception
  31.     'Move to the indexed position
  32.     'Note: Item is indexed 1..Count, Recordset is indexed 0..Count-1
  33.     If Not IsMissing(index) Then
  34.         pStorage.theRecordset.AbsolutePosition = index - 1
  35.     End If
  36.     'Allocate and return the current article object
  37.     Set Item = New Article
  38.     Item.Article Id:=pStorage.theRecordset!Article_Id, Backlog:=pStorage.theRecordset!Backlog, Delivery_Time:=pStorage.theRecordset!Delivery_Time, Description:=pStorage.theRecordset!Description, Name:=pStorage.theRecordset!Name, Price:=pStorage.theRecordset!Price, Quantity:=pStorage.theRecordset!Quantity
  39.     Exit Function
  40. Articles_Item__exception:
  41.     Resume Articles_Item__end
  42. Articles_Item__end:
  43.     Exit Function
  44. End Function
  45.  
  46. 'Returns the number of items in the set.
  47. '##ModelId=3237F8CD039C
  48. Public Property Get Count() As Long
  49.     On Error GoTo Articles_Count__exception
  50.     If pStorage.RecordsExists Then
  51.         pStorage.theRecordset.MoveLast
  52.         Count = pStorage.theRecordset.RecordCount
  53.     Else
  54.         Count = 0
  55.     End If
  56.     Exit Property
  57. Articles_Count__exception:
  58.     Resume Articles_Count__end
  59. Articles_Count__end:
  60.     Exit Property
  61. End Property
  62.  
  63. 'Sets the criterion for fetching a set of articles.
  64. 'Id Syntax:
  65. '  ignore or "*" for all.
  66. '  "100-*" for all articles in the "100" group.
  67. 'Name Syntax:
  68. '  ignore or  "*" for all.
  69. '  "S*" for all articles starting with "S".
  70. '##ModelId=3237F8CD039D
  71. Public Sub Fetch(Optional Id As Variant, Optional Name As Variant)
  72.     On Error GoTo Articles_Fetch__exception
  73.     'Set the Article Id query parameter
  74.     If Not IsMissing(Id) Then
  75.         pStorage.theQueryDef.Parameters!ArticleId = Id
  76.     Else
  77.         pStorage.theQueryDef.Parameters!ArticleId = "*"
  78.     End If
  79.     'Set the Name query parameter
  80.     If Not IsMissing(Name) Then
  81.         pStorage.theQueryDef.Parameters!Name = Name
  82.     Else
  83.         pStorage.theQueryDef.Parameters!Name = "*"
  84.     End If
  85.     pStorage.Execute
  86.     Exit Sub
  87. Articles_Fetch__exception:
  88.     Resume Articles_Fetch__end
  89. Articles_Fetch__end:
  90.     Exit Sub
  91. End Sub
  92.  
  93. 'Returns the previous article from the set.
  94. '##ModelId=3237F8CD03A0
  95. Public Function MovePrevious() As Article
  96.     On Error GoTo Articles_MovePrevious__exception
  97.     If pStorage.RecordsExists Then
  98.         'Move to the previous item in the recordset
  99.         pStorage.theRecordset.MovePrevious
  100.         'Return the current article by calling the Item method
  101.         Set MovePrevious = Item
  102.     End If
  103.     Exit Function
  104. Articles_MovePrevious__exception:
  105.     Resume Articles_MovePrevious__end
  106. Articles_MovePrevious__end:
  107.     Exit Function
  108. End Function
  109.  
  110. 'Returns the next article from the set.
  111. '##ModelId=3237F8CD03A1
  112. Public Function MoveNext() As Article
  113.     On Error GoTo Articles_MoveNext__exception
  114.     If pStorage.RecordsExists And Not pStorage.theRecordset.EOF Then
  115.         'Move to the next item in the recordset
  116.         pStorage.theRecordset.MoveNext
  117.         'Return the current article by calling the Item method
  118.         Set MoveNext = Item
  119.     End If
  120.     Exit Function
  121. Articles_MoveNext__exception:
  122.     Resume Articles_MoveNext__end
  123. Articles_MoveNext__end:
  124.     Exit Function
  125. End Function
  126.  
  127. 'Returns the first article from the set.
  128. '##ModelId=3237F8CD03CA
  129. Public Function MoveFirst() As Article
  130.     On Error GoTo Articles_MoveFirst__exception
  131.     If pStorage.RecordsExists Then
  132.         'Move to the first item in the recordset
  133.         pStorage.theRecordset.MoveFirst
  134.         'Return the current article by calling the Item method
  135.         Set MoveFirst = Item
  136.     End If
  137.     Exit Function
  138. Articles_MoveFirst__exception:
  139.     Resume Articles_MoveFirst__end
  140. Articles_MoveFirst__end:
  141.     Exit Function
  142. End Function
  143.  
  144. '##ModelId=3237F8CD03CB
  145. Private Sub Class_Initialize()
  146.     On Error GoTo Articles_Class_Initialize__exception
  147.     'Setup the persistence object
  148.     Set pStorage = New Persistence
  149.     pStorage.Connect ("Query_Articles")
  150.     Exit Sub
  151. Articles_Class_Initialize__exception:
  152.     Resume Articles_Class_Initialize__end
  153. Articles_Class_Initialize__end:
  154.     Exit Sub
  155. End Sub
  156.  
  157. '##ModelId=3237F8CD03CC
  158. Private Sub Class_Terminate()
  159.     On Error GoTo Articles_Class_Terminate__exception
  160.     Set pStorage = Nothing
  161.     Exit Sub
  162. Articles_Class_Terminate__exception:
  163.     Resume Articles_Class_Terminate__end
  164. Articles_Class_Terminate__end:
  165.     Exit Sub
  166. End Sub
  167.  
  168.